home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / Dialog Boxes / ImageIO / ImageIO.cs next >
Encoding:
Text File  |  2001-01-15  |  2.0 KB  |  61 lines

  1. //--------------------------------------
  2. // ImageIO.cs ⌐ 2001 by Charles Petzold
  3. //--------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.IO;
  7. using System.Windows.Forms;
  8.  
  9. class ImageIO: ImageOpen
  10. {
  11.      MenuItem miSaveAs;
  12.  
  13.      public new static void Main()
  14.      {
  15.           Application.Run(new ImageIO());
  16.      }
  17.      public ImageIO()
  18.      {
  19.           Text = strProgName = "Image I/O";
  20.  
  21.           Menu.MenuItems[0].Popup += new EventHandler(MenuFileOnPopup);
  22.           miSaveAs = new MenuItem("Save &As...");
  23.           miSaveAs.Click += new EventHandler(MenuFileSaveAsOnClick);
  24.           Menu.MenuItems[0].MenuItems.Add(miSaveAs);
  25.      }
  26.      void MenuFileOnPopup(object obj, EventArgs ea)
  27.      {
  28.           miSaveAs.Enabled = (image != null);
  29.      }
  30.      void MenuFileSaveAsOnClick(object obj, EventArgs ea)
  31.      {
  32.           SaveFileDialog savedlg = new SaveFileDialog();
  33.  
  34.           savedlg.InitialDirectory = Path.GetDirectoryName(strFileName);
  35.           savedlg.FileName = Path.GetFileNameWithoutExtension(strFileName);
  36.           savedlg.AddExtension = true;
  37.           savedlg.Filter = "Windows Bitmap (*.bmp)|*.bmp|" +
  38.                            "Graphics Interchange Format (*.gif)|*.gif|" +
  39.                            "JPEG File Interchange Format (*.jpg)|" +
  40.                               "*.jpg;*.jpeg;*.jfif|" +
  41.                            "Portable Network Graphics (*.png)|*.png|" +
  42.                            "Tagged Imaged File Format (*.tif)|*.tif;*.tiff";
  43.  
  44.           if (savedlg.ShowDialog() == DialogResult.OK)
  45.           {
  46.                try
  47.                {
  48.                     image.Save(savedlg.FileName);
  49.                }
  50.                catch (Exception exc)
  51.                {
  52.                     MessageBox.Show(exc.Message, Text);
  53.                     return;
  54.                }
  55.                strFileName = savedlg.FileName;
  56.                Text = strProgName + " - " + Path.GetFileName(strFileName);
  57.           }
  58.      }
  59. }
  60.                                    
  61.